<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.Test.Log</span><span>
</span><span id="line-5"></span><span>       </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier">PackageLog</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-6"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier">TestLogs</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-7"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestSuiteLog"><span class="hs-identifier">TestSuiteLog</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-8"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier">countTestResults</span></a></span><span>
</span><span id="line-9"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#localPackageLog"><span class="hs-identifier">localPackageLog</span></a></span><span>
</span><span id="line-10"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizePackage"><span class="hs-identifier">summarizePackage</span></a></span><span>
</span><span id="line-11"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeSuiteFinish"><span class="hs-identifier">summarizeSuiteFinish</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeSuiteStart"><span class="hs-identifier">summarizeSuiteStart</span></a></span><span>
</span><span id="line-12"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeTest"><span class="hs-identifier">summarizeTest</span></a></span><span>
</span><span id="line-13"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suiteError"><span class="hs-identifier">suiteError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suiteFailed"><span class="hs-identifier">suiteFailed</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suitePassed"><span class="hs-identifier">suitePassed</span></a></span><span>
</span><span id="line-14"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#testSuiteLogPath"><span class="hs-identifier">testSuiteLogPath</span></a></span><span>
</span><span id="line-15"></span><span>       </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html"><span class="hs-identifier">Distribution.Types.UnqualComponentName</span></a></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">PD</span></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html"><span class="hs-identifier">Distribution.Simple.InstallDirs</span></a></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Simple.LocalBuildInfo</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">LBI</span></span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html"><span class="hs-identifier">Distribution.Simple.Setup</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.System.html"><span class="hs-identifier">Distribution.System</span></a></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.TestSuite.html"><span class="hs-identifier">Distribution.TestSuite</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html"><span class="hs-identifier">Distribution.Verbosity</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Foldable.html#foldl1"><span class="hs-identifier">foldl1</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span class="hs-comment">-- | Logs all test results for a package, broken down first by test suite and</span><span>
</span><span id="line-36"></span><span class="hs-comment">-- then by test case.</span><span>
</span><span id="line-37"></span><span class="hs-keyword">data</span><span> </span><span id="PackageLog"><span class="annot"><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier hs-var">PackageLog</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="PackageLog"><span class="annot"><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier hs-var">PackageLog</span></a></span></span><span>
</span><span id="line-38"></span><span>    </span><span class="hs-special">{</span><span> </span><span id="package"><span class="annot"><span class="annottext">PackageLog -&gt; PackageId
</span><a href="Distribution.Simple.Test.Log.html#package"><span class="hs-identifier hs-var hs-var">package</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageId.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span>
</span><span id="line-39"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="compiler"><span class="annot"><span class="annottext">PackageLog -&gt; CompilerId
</span><a href="Distribution.Simple.Test.Log.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Compiler.html#CompilerId"><span class="hs-identifier hs-type">CompilerId</span></a></span><span>
</span><span id="line-40"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="platform"><span class="annot"><span class="annottext">PackageLog -&gt; Platform
</span><a href="Distribution.Simple.Test.Log.html#platform"><span class="hs-identifier hs-var hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span>
</span><span id="line-41"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="testSuites"><span class="annot"><span class="annottext">PackageLog -&gt; [TestSuiteLog]
</span><a href="Distribution.Simple.Test.Log.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestSuiteLog"><span class="hs-identifier hs-type">TestSuiteLog</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-42"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-43"></span><span>    </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709834"><span id="local-6989586621679709857"><span id="local-6989586621679709860"><span id="local-6989586621679709862"><span class="annot"><span class="annottext">ReadPrec [PackageLog]
ReadPrec PackageLog
Int -&gt; ReadS PackageLog
ReadS [PackageLog]
(Int -&gt; ReadS PackageLog)
-&gt; ReadS [PackageLog]
-&gt; ReadPrec PackageLog
-&gt; ReadPrec [PackageLog]
-&gt; Read PackageLog
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [PackageLog]
$creadListPrec :: ReadPrec [PackageLog]
readPrec :: ReadPrec PackageLog
$creadPrec :: ReadPrec PackageLog
readList :: ReadS [PackageLog]
$creadList :: ReadS [PackageLog]
readsPrec :: Int -&gt; ReadS PackageLog
$creadsPrec :: Int -&gt; ReadS PackageLog
</span><a href="../../base/src/GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709815"><span id="local-6989586621679709817"><span id="local-6989586621679709830"><span class="annot"><span class="annottext">Int -&gt; PackageLog -&gt; ShowS
[PackageLog] -&gt; ShowS
PackageLog -&gt; String
(Int -&gt; PackageLog -&gt; ShowS)
-&gt; (PackageLog -&gt; String)
-&gt; ([PackageLog] -&gt; ShowS)
-&gt; Show PackageLog
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [PackageLog] -&gt; ShowS
$cshowList :: [PackageLog] -&gt; ShowS
show :: PackageLog -&gt; String
$cshow :: PackageLog -&gt; String
showsPrec :: Int -&gt; PackageLog -&gt; ShowS
$cshowsPrec :: Int -&gt; PackageLog -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709801"><span id="local-6989586621679709812"><span class="annot"><span class="annottext">PackageLog -&gt; PackageLog -&gt; Bool
(PackageLog -&gt; PackageLog -&gt; Bool)
-&gt; (PackageLog -&gt; PackageLog -&gt; Bool) -&gt; Eq PackageLog
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: PackageLog -&gt; PackageLog -&gt; Bool
$c/= :: PackageLog -&gt; PackageLog -&gt; Bool
== :: PackageLog -&gt; PackageLog -&gt; Bool
$c== :: PackageLog -&gt; PackageLog -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span class="hs-comment">-- | A 'PackageLog' with package and platform information specified.</span><span>
</span><span id="line-46"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#localPackageLog"><span class="hs-identifier hs-type">localPackageLog</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PD.PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LBI.LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier hs-type">PackageLog</span></a></span><span>
</span><span id="line-47"></span><span id="localPackageLog"><span class="annot"><span class="annottext">localPackageLog :: PackageDescription -&gt; LocalBuildInfo -&gt; PackageLog
</span><a href="Distribution.Simple.Test.Log.html#localPackageLog"><span class="hs-identifier hs-var hs-var">localPackageLog</span></a></span></span><span> </span><span id="local-6989586621679709799"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679709799"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679709798"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709798"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageLog :: PackageId -&gt; CompilerId -&gt; Platform -&gt; [TestSuiteLog] -&gt; PackageLog
</span><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier hs-type">PackageLog</span></a></span><span>
</span><span id="line-48"></span><span>    </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">package :: PackageId
</span><a href="Distribution.Simple.Test.Log.html#package"><span class="hs-identifier hs-var">package</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageId
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">PD.package</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679709799"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-49"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">compiler :: CompilerId
</span><a href="Distribution.Simple.Test.Log.html#compiler"><span class="hs-identifier hs-var">compiler</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerId
</span><a href="Distribution.Simple.Compiler.html#compilerId"><span class="hs-identifier hs-var hs-var">compilerId</span></a></span><span> </span><span class="annot"><span class="annottext">(Compiler -&gt; CompilerId) -&gt; Compiler -&gt; CompilerId
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">LBI.compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709798"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-50"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">platform :: Platform
</span><a href="Distribution.Simple.Test.Log.html#platform"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Platform
</span><a href="Distribution.Types.LocalBuildInfo.html#hostPlatform"><span class="hs-identifier hs-var hs-var">LBI.hostPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709798"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-51"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">testSuites :: [TestSuiteLog]
</span><a href="Distribution.Simple.Test.Log.html#testSuites"><span class="hs-identifier hs-var">testSuites</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-52"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-53"></span><span>
</span><span id="line-54"></span><span class="hs-comment">-- | Logs test suite results, itemized by test case.</span><span>
</span><span id="line-55"></span><span class="hs-keyword">data</span><span> </span><span id="TestSuiteLog"><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestSuiteLog"><span class="hs-identifier hs-var">TestSuiteLog</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="TestSuiteLog"><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestSuiteLog"><span class="hs-identifier hs-var">TestSuiteLog</span></a></span></span><span>
</span><span id="line-56"></span><span>    </span><span class="hs-special">{</span><span> </span><span id="testSuiteName"><span class="annot"><span class="annottext">TestSuiteLog -&gt; UnqualComponentName
</span><a href="Distribution.Simple.Test.Log.html#testSuiteName"><span class="hs-identifier hs-var hs-var">testSuiteName</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span>
</span><span id="line-57"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="testLogs"><span class="annot"><span class="annottext">TestSuiteLog -&gt; TestLogs
</span><a href="Distribution.Simple.Test.Log.html#testLogs"><span class="hs-identifier hs-var hs-var">testLogs</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span>
</span><span id="line-58"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="logFile"><span class="annot"><span class="annottext">TestSuiteLog -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#logFile"><span class="hs-identifier hs-var hs-var">logFile</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>    </span><span class="hs-comment">-- path to human-readable log file</span><span>
</span><span id="line-59"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-60"></span><span>    </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709766"><span id="local-6989586621679709782"><span id="local-6989586621679709785"><span id="local-6989586621679709787"><span class="annot"><span class="annottext">ReadPrec [TestSuiteLog]
ReadPrec TestSuiteLog
Int -&gt; ReadS TestSuiteLog
ReadS [TestSuiteLog]
(Int -&gt; ReadS TestSuiteLog)
-&gt; ReadS [TestSuiteLog]
-&gt; ReadPrec TestSuiteLog
-&gt; ReadPrec [TestSuiteLog]
-&gt; Read TestSuiteLog
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [TestSuiteLog]
$creadListPrec :: ReadPrec [TestSuiteLog]
readPrec :: ReadPrec TestSuiteLog
$creadPrec :: ReadPrec TestSuiteLog
readList :: ReadS [TestSuiteLog]
$creadList :: ReadS [TestSuiteLog]
readsPrec :: Int -&gt; ReadS TestSuiteLog
$creadsPrec :: Int -&gt; ReadS TestSuiteLog
</span><a href="../../base/src/GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709752"><span id="local-6989586621679709754"><span id="local-6989586621679709762"><span class="annot"><span class="annottext">Int -&gt; TestSuiteLog -&gt; ShowS
[TestSuiteLog] -&gt; ShowS
TestSuiteLog -&gt; String
(Int -&gt; TestSuiteLog -&gt; ShowS)
-&gt; (TestSuiteLog -&gt; String)
-&gt; ([TestSuiteLog] -&gt; ShowS)
-&gt; Show TestSuiteLog
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [TestSuiteLog] -&gt; ShowS
$cshowList :: [TestSuiteLog] -&gt; ShowS
show :: TestSuiteLog -&gt; String
$cshow :: TestSuiteLog -&gt; String
showsPrec :: Int -&gt; TestSuiteLog -&gt; ShowS
$cshowsPrec :: Int -&gt; TestSuiteLog -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709742"><span id="local-6989586621679709749"><span class="annot"><span class="annottext">TestSuiteLog -&gt; TestSuiteLog -&gt; Bool
(TestSuiteLog -&gt; TestSuiteLog -&gt; Bool)
-&gt; (TestSuiteLog -&gt; TestSuiteLog -&gt; Bool) -&gt; Eq TestSuiteLog
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: TestSuiteLog -&gt; TestSuiteLog -&gt; Bool
$c/= :: TestSuiteLog -&gt; TestSuiteLog -&gt; Bool
== :: TestSuiteLog -&gt; TestSuiteLog -&gt; Bool
$c== :: TestSuiteLog -&gt; TestSuiteLog -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span class="hs-keyword">data</span><span> </span><span id="TestLogs"><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-var">TestLogs</span></a></span></span><span>
</span><span id="line-63"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="TestLog"><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLog"><span class="hs-identifier hs-var">TestLog</span></a></span></span><span>
</span><span id="line-64"></span><span>        </span><span class="hs-special">{</span><span> </span><span id="testName"><span class="annot"><span class="annottext">TestLogs -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-65"></span><span>        </span><span class="hs-special">,</span><span> </span><span id="testOptionsReturned"><span class="annot"><span class="annottext">TestLogs -&gt; Options
</span><a href="Distribution.Simple.Test.Log.html#testOptionsReturned"><span class="hs-identifier hs-var hs-var">testOptionsReturned</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.TestSuite.html#Options"><span class="hs-identifier hs-type">Options</span></a></span><span>
</span><span id="line-66"></span><span>        </span><span class="hs-special">,</span><span> </span><span id="testResult"><span class="annot"><span class="annottext">TestLogs -&gt; Result
</span><a href="Distribution.Simple.Test.Log.html#testResult"><span class="hs-identifier hs-var hs-var">testResult</span></a></span></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.TestSuite.html#Result"><span class="hs-identifier hs-type">Result</span></a></span><span>
</span><span id="line-67"></span><span>        </span><span class="hs-special">}</span><span>
</span><span id="line-68"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="GroupLogs"><span class="annot"><a href="Distribution.Simple.Test.Log.html#GroupLogs"><span class="hs-identifier hs-var">GroupLogs</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-69"></span><span>    </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709705"><span id="local-6989586621679709729"><span id="local-6989586621679709732"><span id="local-6989586621679709734"><span class="annot"><span class="annottext">ReadPrec [TestLogs]
ReadPrec TestLogs
Int -&gt; ReadS TestLogs
ReadS [TestLogs]
(Int -&gt; ReadS TestLogs)
-&gt; ReadS [TestLogs]
-&gt; ReadPrec TestLogs
-&gt; ReadPrec [TestLogs]
-&gt; Read TestLogs
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [TestLogs]
$creadListPrec :: ReadPrec [TestLogs]
readPrec :: ReadPrec TestLogs
$creadPrec :: ReadPrec TestLogs
readList :: ReadS [TestLogs]
$creadList :: ReadS [TestLogs]
readsPrec :: Int -&gt; ReadS TestLogs
$creadsPrec :: Int -&gt; ReadS TestLogs
</span><a href="../../base/src/GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709687"><span id="local-6989586621679709689"><span id="local-6989586621679709701"><span class="annot"><span class="annottext">Int -&gt; TestLogs -&gt; ShowS
[TestLogs] -&gt; ShowS
TestLogs -&gt; String
(Int -&gt; TestLogs -&gt; ShowS)
-&gt; (TestLogs -&gt; String) -&gt; ([TestLogs] -&gt; ShowS) -&gt; Show TestLogs
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [TestLogs] -&gt; ShowS
$cshowList :: [TestLogs] -&gt; ShowS
show :: TestLogs -&gt; String
$cshow :: TestLogs -&gt; String
showsPrec :: Int -&gt; TestLogs -&gt; ShowS
$cshowsPrec :: Int -&gt; TestLogs -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709673"><span id="local-6989586621679709684"><span class="annot"><span class="annottext">TestLogs -&gt; TestLogs -&gt; Bool
(TestLogs -&gt; TestLogs -&gt; Bool)
-&gt; (TestLogs -&gt; TestLogs -&gt; Bool) -&gt; Eq TestLogs
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: TestLogs -&gt; TestLogs -&gt; Bool
$c/= :: TestLogs -&gt; TestLogs -&gt; Bool
== :: TestLogs -&gt; TestLogs -&gt; Bool
$c== :: TestLogs -&gt; TestLogs -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-70"></span><span>
</span><span id="line-71"></span><span class="hs-comment">-- | Count the number of pass, fail, and error test results in a 'TestLogs'</span><span>
</span><span id="line-72"></span><span class="hs-comment">-- tree.</span><span>
</span><span id="line-73"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-type">countTestResults</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span>
</span><span id="line-74"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ Passes, fails, and errors,</span><span>
</span><span id="line-75"></span><span>                                    </span><span class="hs-comment">-- respectively.</span><span>
</span><span id="line-76"></span><span id="countTestResults"><span class="annot"><span class="annottext">countTestResults :: TestLogs -&gt; (Int, Int, Int)
</span><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-var hs-var">countTestResults</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int, Int, Int) -&gt; TestLogs -&gt; (Int, Int, Int)
forall {a} {b} {c}.
(Num a, Num b, Num c) =&gt;
(a, b, c) -&gt; TestLogs -&gt; (a, b, c)
</span><a href="#local-6989586621679709671"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span>
</span><span id="line-77"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-78"></span><span>    </span><span id="local-6989586621679709671"><span class="annot"><span class="annottext">go :: (a, b, c) -&gt; TestLogs -&gt; (a, b, c)
</span><a href="#local-6989586621679709671"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709659"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709659"><span class="hs-identifier hs-var">p</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709658"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709658"><span class="hs-identifier hs-var">f</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709657"><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709657"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLog"><span class="hs-identifier hs-type">TestLog</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testResult :: TestLogs -&gt; Result
</span><a href="Distribution.Simple.Test.Log.html#testResult"><span class="hs-identifier hs-var">testResult</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679709656"><span class="annot"><span class="annottext">Result
</span><a href="#local-6989586621679709656"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-79"></span><span>        </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Result
</span><a href="#local-6989586621679709656"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-80"></span><span>            </span><span class="annot"><span class="annottext">Result
</span><a href="Distribution.TestSuite.html#Pass"><span class="hs-identifier hs-var">Pass</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709659"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709658"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709657"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-81"></span><span>            </span><span class="annot"><a href="Distribution.TestSuite.html#Fail"><span class="hs-identifier hs-type">Fail</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709659"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709658"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; b
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">1</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709657"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-82"></span><span>            </span><span class="annot"><a href="Distribution.TestSuite.html#Error"><span class="hs-identifier hs-type">Error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709659"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709658"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709657"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">c -&gt; c -&gt; c
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">c
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-83"></span><span>    </span><span class="annot"><a href="#local-6989586621679709671"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709651"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709651"><span class="hs-identifier hs-var">p</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709650"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709650"><span class="hs-identifier hs-var">f</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709649"><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709649"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Test.Log.html#GroupLogs"><span class="hs-identifier hs-type">GroupLogs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679709648"><span class="annot"><span class="annottext">[TestLogs]
</span><a href="#local-6989586621679709648"><span class="hs-identifier hs-var">ts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((a, b, c) -&gt; TestLogs -&gt; (a, b, c))
-&gt; (a, b, c) -&gt; [TestLogs] -&gt; (a, b, c)
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl"><span class="hs-identifier hs-var">foldl</span></a></span><span> </span><span class="annot"><span class="annottext">(a, b, c) -&gt; TestLogs -&gt; (a, b, c)
</span><a href="#local-6989586621679709671"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709651"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709650"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709649"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[TestLogs]
</span><a href="#local-6989586621679709648"><span class="hs-identifier hs-var">ts</span></a></span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span class="hs-comment">-- | From a 'TestSuiteLog', determine if the test suite passed.</span><span>
</span><span id="line-86"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suitePassed"><span class="hs-identifier hs-type">suitePassed</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-87"></span><span id="suitePassed"><span class="annot"><span class="annottext">suitePassed :: TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suitePassed"><span class="hs-identifier hs-var hs-var">suitePassed</span></a></span></span><span> </span><span id="local-6989586621679709646"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709646"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-88"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; (Int, Int, Int)
</span><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-var">countTestResults</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709646"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-89"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-90"></span><span>        </span><span class="annot"><span class="annottext">(Int, Int, Int)
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span class="hs-comment">-- | From a 'TestSuiteLog', determine if the test suite failed.</span><span>
</span><span id="line-93"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suiteFailed"><span class="hs-identifier hs-type">suiteFailed</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-94"></span><span id="suiteFailed"><span class="annot"><span class="annottext">suiteFailed :: TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suiteFailed"><span class="hs-identifier hs-var hs-var">suiteFailed</span></a></span></span><span> </span><span id="local-6989586621679709645"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709645"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-95"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; (Int, Int, Int)
</span><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-var">countTestResults</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709645"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-96"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-97"></span><span>        </span><span class="annot"><span class="annottext">(Int, Int, Int)
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span class="hs-comment">-- | From a 'TestSuiteLog', determine if the test suite encountered errors.</span><span>
</span><span id="line-100"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#suiteError"><span class="hs-identifier hs-type">suiteError</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-101"></span><span id="suiteError"><span class="annot"><span class="annottext">suiteError :: TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suiteError"><span class="hs-identifier hs-var hs-var">suiteError</span></a></span></span><span> </span><span id="local-6989586621679709644"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709644"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-102"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; (Int, Int, Int)
</span><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-var">countTestResults</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709644"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-103"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-104"></span><span>        </span><span class="annot"><span class="annottext">(Int, Int, Int)
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-105"></span><span>
</span><span id="line-106"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#resultString"><span class="hs-identifier hs-type">resultString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-107"></span><span id="resultString"><span class="annot"><span class="annottext">resultString :: TestLogs -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#resultString"><span class="hs-identifier hs-var hs-var">resultString</span></a></span></span><span> </span><span id="local-6989586621679709642"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709642"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suiteError"><span class="hs-identifier hs-var">suiteError</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709642"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;error&quot;</span></span><span>
</span><span id="line-108"></span><span>               </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suiteFailed"><span class="hs-identifier hs-var">suiteFailed</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709642"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fail&quot;</span></span><span>
</span><span id="line-109"></span><span>               </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pass&quot;</span></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#testSuiteLogPath"><span class="hs-identifier hs-type">testSuiteLogPath</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#PathTemplate"><span class="hs-identifier hs-type">PathTemplate</span></a></span><span>
</span><span id="line-112"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PD.PackageDescription</span></a></span><span>
</span><span id="line-113"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LBI.LocalBuildInfo</span></a></span><span>
</span><span id="line-114"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ test suite name</span><span>
</span><span id="line-115"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-comment">-- ^ test suite results</span><span>
</span><span id="line-116"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-117"></span><span id="testSuiteLogPath"><span class="annot"><span class="annottext">testSuiteLogPath :: PathTemplate
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; String
-&gt; TestLogs
-&gt; String
</span><a href="Distribution.Simple.Test.Log.html#testSuiteLogPath"><span class="hs-identifier hs-var hs-var">testSuiteLogPath</span></a></span></span><span> </span><span id="local-6989586621679709641"><span class="annot"><span class="annottext">PathTemplate
</span><a href="#local-6989586621679709641"><span class="hs-identifier hs-var">template</span></a></span></span><span> </span><span id="local-6989586621679709640"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679709640"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679709639"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709639"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679709638"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679709638"><span class="hs-identifier hs-var">test_name</span></a></span></span><span> </span><span id="local-6989586621679709637"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709637"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-118"></span><span>    </span><span class="annot"><span class="annottext">PathTemplate -&gt; String
</span><a href="Distribution.Simple.InstallDirs.html#fromPathTemplate"><span class="hs-identifier hs-var">fromPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">(PathTemplate -&gt; String) -&gt; PathTemplate -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PathTemplateEnv -&gt; PathTemplate -&gt; PathTemplate
</span><a href="Distribution.Simple.InstallDirs.html#substPathTemplate"><span class="hs-identifier hs-var">substPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">PathTemplateEnv
</span><a href="#local-6989586621679709634"><span class="hs-identifier hs-var">env</span></a></span><span> </span><span class="annot"><span class="annottext">PathTemplate
</span><a href="#local-6989586621679709641"><span class="hs-identifier hs-var">template</span></a></span><span>
</span><span id="line-119"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-120"></span><span>        </span><span id="local-6989586621679709634"><span class="annot"><span class="annottext">env :: PathTemplateEnv
</span><a href="#local-6989586621679709634"><span class="hs-identifier hs-var hs-var">env</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageId -&gt; UnitId -&gt; CompilerInfo -&gt; Platform -&gt; PathTemplateEnv
</span><a href="Distribution.Simple.InstallDirs.html#initialPathTemplateEnv"><span class="hs-identifier hs-var">initialPathTemplateEnv</span></a></span><span>
</span><span id="line-121"></span><span>                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageId
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">PD.package</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679709640"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.LocalBuildInfo.html#localUnitId"><span class="hs-identifier hs-var">LBI.localUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709639"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-122"></span><span>                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; CompilerInfo
</span><a href="Distribution.Simple.Compiler.html#compilerInfo"><span class="hs-identifier hs-var">compilerInfo</span></a></span><span> </span><span class="annot"><span class="annottext">(Compiler -&gt; CompilerInfo) -&gt; Compiler -&gt; CompilerInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">LBI.compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709639"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Platform
</span><a href="Distribution.Types.LocalBuildInfo.html#hostPlatform"><span class="hs-identifier hs-var hs-var">LBI.hostPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679709639"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-123"></span><span>                </span><span class="annot"><span class="annottext">PathTemplateEnv -&gt; PathTemplateEnv -&gt; PathTemplateEnv
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>  </span><span class="hs-special">[</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PathTemplateVariable
</span><a href="Distribution.Simple.InstallDirs.Internal.html#TestSuiteNameVar"><span class="hs-identifier hs-var">TestSuiteNameVar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; PathTemplate
</span><a href="Distribution.Simple.InstallDirs.html#toPathTemplate"><span class="hs-identifier hs-var">toPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679709638"><span class="hs-identifier hs-var">test_name</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-124"></span><span>                    </span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PathTemplateVariable
</span><a href="Distribution.Simple.InstallDirs.Internal.html#TestSuiteResultVar"><span class="hs-identifier hs-var">TestSuiteResultVar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; PathTemplate
</span><a href="Distribution.Simple.InstallDirs.html#toPathTemplate"><span class="hs-identifier hs-var">toPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; PathTemplate) -&gt; String -&gt; PathTemplate
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#resultString"><span class="hs-identifier hs-var">resultString</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709637"><span class="hs-identifier hs-var">result</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-125"></span><span>                    </span><span class="hs-special">]</span><span>
</span><span id="line-126"></span><span>
</span><span id="line-127"></span><span class="hs-comment">-- | Print a summary to the console after all test suites have been run</span><span>
</span><span id="line-128"></span><span class="hs-comment">-- indicating the number of successful test suites and cases.  Returns 'True' if</span><span>
</span><span id="line-129"></span><span class="hs-comment">-- all test suites passed and 'False' otherwise.</span><span>
</span><span id="line-130"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizePackage"><span class="hs-identifier hs-type">summarizePackage</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#PackageLog"><span class="hs-identifier hs-type">PackageLog</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-131"></span><span id="summarizePackage"><span class="annot"><span class="annottext">summarizePackage :: Verbosity -&gt; PackageLog -&gt; IO Bool
</span><a href="Distribution.Simple.Test.Log.html#summarizePackage"><span class="hs-identifier hs-var hs-var">summarizePackage</span></a></span></span><span> </span><span id="local-6989586621679709627"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679709627"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679709626"><span class="annot"><span class="annottext">PackageLog
</span><a href="#local-6989586621679709626"><span class="hs-identifier hs-var">packageLog</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-132"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679709625"><span class="annot"><span class="annottext">counts :: [(Int, Int, Int)]
</span><a href="#local-6989586621679709625"><span class="hs-identifier hs-var hs-var">counts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(TestSuiteLog -&gt; (Int, Int, Int))
-&gt; [TestSuiteLog] -&gt; [(Int, Int, Int)]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestLogs -&gt; (Int, Int, Int)
</span><a href="Distribution.Simple.Test.Log.html#countTestResults"><span class="hs-identifier hs-var">countTestResults</span></a></span><span> </span><span class="annot"><span class="annottext">(TestLogs -&gt; (Int, Int, Int))
-&gt; (TestSuiteLog -&gt; TestLogs) -&gt; TestSuiteLog -&gt; (Int, Int, Int)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog -&gt; TestLogs
</span><a href="Distribution.Simple.Test.Log.html#testLogs"><span class="hs-identifier hs-var hs-var">testLogs</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([TestSuiteLog] -&gt; [(Int, Int, Int)])
-&gt; [TestSuiteLog] -&gt; [(Int, Int, Int)]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog -&gt; [TestSuiteLog]
</span><a href="Distribution.Simple.Test.Log.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog
</span><a href="#local-6989586621679709626"><span class="hs-identifier hs-var">packageLog</span></a></span><span>
</span><span id="line-133"></span><span>        </span><span class="hs-special">(</span><span id="local-6989586621679709619"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709619"><span class="hs-identifier hs-var">passed</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709618"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709618"><span class="hs-identifier hs-var">failed</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709617"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709617"><span class="hs-identifier hs-var">errors</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((Int, Int, Int) -&gt; (Int, Int, Int) -&gt; (Int, Int, Int))
-&gt; [(Int, Int, Int)] -&gt; (Int, Int, Int)
forall (t :: * -&gt; *) a. Foldable t =&gt; (a -&gt; a -&gt; a) -&gt; t a -&gt; a
</span><a href="../../base/src/Data.Foldable.html#foldl1"><span class="hs-identifier hs-var">Prelude.foldl1</span></a></span><span> </span><span class="annot"><span class="annottext">(Int, Int, Int) -&gt; (Int, Int, Int) -&gt; (Int, Int, Int)
forall {a} {b} {c}.
(Num a, Num b, Num c) =&gt;
(a, b, c) -&gt; (a, b, c) -&gt; (a, b, c)
</span><a href="#local-6989586621679709616"><span class="hs-identifier hs-var">addTriple</span></a></span><span> </span><span class="annot"><span class="annottext">[(Int, Int, Int)]
</span><a href="#local-6989586621679709625"><span class="hs-identifier hs-var">counts</span></a></span><span>
</span><span id="line-134"></span><span>        </span><span id="local-6989586621679709613"><span class="annot"><span class="annottext">totalCases :: Int
</span><a href="#local-6989586621679709613"><span class="hs-identifier hs-var hs-var">totalCases</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709619"><span class="hs-identifier hs-var">passed</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709618"><span class="hs-identifier hs-var">failed</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709617"><span class="hs-identifier hs-var">errors</span></a></span><span>
</span><span id="line-135"></span><span>        </span><span id="local-6989586621679709611"><span class="annot"><span class="annottext">passedSuites :: Int
</span><a href="#local-6989586621679709611"><span class="hs-identifier hs-var hs-var">passedSuites</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[TestSuiteLog] -&gt; Int
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
</span><a href="../../base/src/Data.Foldable.html#length"><span class="hs-identifier hs-var">length</span></a></span><span>
</span><span id="line-136"></span><span>                       </span><span class="annot"><span class="annottext">([TestSuiteLog] -&gt; Int) -&gt; [TestSuiteLog] -&gt; Int
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(TestSuiteLog -&gt; Bool) -&gt; [TestSuiteLog] -&gt; [TestSuiteLog]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestLogs -&gt; Bool
</span><a href="Distribution.Simple.Test.Log.html#suitePassed"><span class="hs-identifier hs-var">suitePassed</span></a></span><span> </span><span class="annot"><span class="annottext">(TestLogs -&gt; Bool)
-&gt; (TestSuiteLog -&gt; TestLogs) -&gt; TestSuiteLog -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog -&gt; TestLogs
</span><a href="Distribution.Simple.Test.Log.html#testLogs"><span class="hs-identifier hs-var hs-var">testLogs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-137"></span><span>                       </span><span class="annot"><span class="annottext">([TestSuiteLog] -&gt; [TestSuiteLog])
-&gt; [TestSuiteLog] -&gt; [TestSuiteLog]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog -&gt; [TestSuiteLog]
</span><a href="Distribution.Simple.Test.Log.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog
</span><a href="#local-6989586621679709626"><span class="hs-identifier hs-var">packageLog</span></a></span><span>
</span><span id="line-138"></span><span>        </span><span id="local-6989586621679709608"><span class="annot"><span class="annottext">totalSuites :: Int
</span><a href="#local-6989586621679709608"><span class="hs-identifier hs-var hs-var">totalSuites</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[TestSuiteLog] -&gt; Int
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
</span><a href="../../base/src/Data.Foldable.html#length"><span class="hs-identifier hs-var">length</span></a></span><span> </span><span class="annot"><span class="annottext">([TestSuiteLog] -&gt; Int) -&gt; [TestSuiteLog] -&gt; Int
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog -&gt; [TestSuiteLog]
</span><a href="Distribution.Simple.Test.Log.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageLog
</span><a href="#local-6989586621679709626"><span class="hs-identifier hs-var">packageLog</span></a></span><span>
</span><span id="line-139"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679709627"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709611"><span class="hs-identifier hs-var">passedSuites</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; of &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709608"><span class="hs-identifier hs-var">totalSuites</span></a></span><span>
</span><span id="line-140"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; test suites (&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709619"><span class="hs-identifier hs-var">passed</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; of &quot;</span></span><span>
</span><span id="line-141"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709613"><span class="hs-identifier hs-var">totalCases</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; test cases) passed.&quot;</span></span><span>
</span><span id="line-142"></span><span>    </span><span class="annot"><span class="annottext">Bool -&gt; IO Bool
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; IO Bool) -&gt; Bool -&gt; IO Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24%21"><span class="hs-operator hs-var">$!</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709611"><span class="hs-identifier hs-var">passedSuites</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679709608"><span class="hs-identifier hs-var">totalSuites</span></a></span><span>
</span><span id="line-143"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-144"></span><span>    </span><span id="local-6989586621679709616"><span class="annot"><span class="annottext">addTriple :: (a, b, c) -&gt; (a, b, c) -&gt; (a, b, c)
</span><a href="#local-6989586621679709616"><span class="hs-identifier hs-var hs-var">addTriple</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709598"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709598"><span class="hs-identifier hs-var">p1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709597"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709597"><span class="hs-identifier hs-var">f1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709596"><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709596"><span class="hs-identifier hs-var">e1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679709595"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709595"><span class="hs-identifier hs-var">p2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709594"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709594"><span class="hs-identifier hs-var">f2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679709593"><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709593"><span class="hs-identifier hs-var">e2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709598"><span class="hs-identifier hs-var">p1</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679709595"><span class="hs-identifier hs-var">p2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709597"><span class="hs-identifier hs-var">f1</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; b
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679709594"><span class="hs-identifier hs-var">f2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709596"><span class="hs-identifier hs-var">e1</span></a></span><span> </span><span class="annot"><span class="annottext">c -&gt; c -&gt; c
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">c
</span><a href="#local-6989586621679709593"><span class="hs-identifier hs-var">e2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span class="hs-comment">-- | Print a summary of a single test case's result to the console, suppressing</span><span>
</span><span id="line-147"></span><span class="hs-comment">-- output for certain verbosity or test filter levels.</span><span>
</span><span id="line-148"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeTest"><span class="hs-identifier hs-type">summarizeTest</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#TestShowDetails"><span class="hs-identifier hs-type">TestShowDetails</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestLogs"><span class="hs-identifier hs-type">TestLogs</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span id="summarizeTest"><span class="annot"><span class="annottext">summarizeTest :: Verbosity -&gt; TestShowDetails -&gt; TestLogs -&gt; IO ()
</span><a href="Distribution.Simple.Test.Log.html#summarizeTest"><span class="hs-identifier hs-var hs-var">summarizeTest</span></a></span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">TestShowDetails
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Test.Log.html#GroupLogs"><span class="hs-identifier hs-type">GroupLogs</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-150"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeTest"><span class="hs-identifier hs-var">summarizeTest</span></a></span><span> </span><span id="local-6989586621679709592"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679709592"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679709591"><span class="annot"><span class="annottext">TestShowDetails
</span><a href="#local-6989586621679709591"><span class="hs-identifier hs-var">details</span></a></span></span><span> </span><span id="local-6989586621679709590"><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709590"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-151"></span><span>    </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679709588"><span class="hs-identifier hs-var">shouldPrint</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679709592"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Test case &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709590"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-152"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Result -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestLogs -&gt; Result
</span><a href="Distribution.Simple.Test.Log.html#testResult"><span class="hs-identifier hs-var hs-var">testResult</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709590"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-153"></span><span>    </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679709588"><span class="annot"><span class="annottext">shouldPrint :: Bool
</span><a href="#local-6989586621679709588"><span class="hs-identifier hs-var hs-var">shouldPrint</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestShowDetails
</span><a href="#local-6989586621679709591"><span class="hs-identifier hs-var">details</span></a></span><span> </span><span class="annot"><span class="annottext">TestShowDetails -&gt; TestShowDetails -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">TestShowDetails
</span><a href="Distribution.Simple.Setup.html#Never"><span class="hs-identifier hs-var">Never</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679709580"><span class="hs-identifier hs-var">notPassed</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">TestShowDetails
</span><a href="#local-6989586621679709591"><span class="hs-identifier hs-var">details</span></a></span><span> </span><span class="annot"><span class="annottext">TestShowDetails -&gt; TestShowDetails -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">TestShowDetails
</span><a href="Distribution.Simple.Setup.html#Always"><span class="hs-identifier hs-var">Always</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-154"></span><span>          </span><span id="local-6989586621679709580"><span class="annot"><span class="annottext">notPassed :: Bool
</span><a href="#local-6989586621679709580"><span class="hs-identifier hs-var hs-var">notPassed</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestLogs -&gt; Result
</span><a href="Distribution.Simple.Test.Log.html#testResult"><span class="hs-identifier hs-var hs-var">testResult</span></a></span><span> </span><span class="annot"><span class="annottext">TestLogs
</span><a href="#local-6989586621679709590"><span class="hs-identifier hs-var">t</span></a></span><span> </span><span class="annot"><span class="annottext">Result -&gt; Result -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Result
</span><a href="Distribution.TestSuite.html#Pass"><span class="hs-identifier hs-var">Pass</span></a></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span class="hs-comment">-- | Print a summary of the test suite's results on the console, suppressing</span><span>
</span><span id="line-157"></span><span class="hs-comment">-- output for certain verbosity or test filter levels.</span><span>
</span><span id="line-158"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeSuiteFinish"><span class="hs-identifier hs-type">summarizeSuiteFinish</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.Log.html#TestSuiteLog"><span class="hs-identifier hs-type">TestSuiteLog</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-159"></span><span id="summarizeSuiteFinish"><span class="annot"><span class="annottext">summarizeSuiteFinish :: TestSuiteLog -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#summarizeSuiteFinish"><span class="hs-identifier hs-var hs-var">summarizeSuiteFinish</span></a></span></span><span> </span><span id="local-6989586621679709575"><span class="annot"><span class="annottext">TestSuiteLog
</span><a href="#local-6989586621679709575"><span class="hs-identifier hs-var">testLog</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span>
</span><span id="line-160"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Test suite &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuiteLog -&gt; UnqualComponentName
</span><a href="Distribution.Simple.Test.Log.html#testSuiteName"><span class="hs-identifier hs-var hs-var">testSuiteName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog
</span><a href="#local-6989586621679709575"><span class="hs-identifier hs-var">testLog</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679709572"><span class="hs-identifier hs-var">resStr</span></a></span><span>
</span><span id="line-161"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Test suite logged to: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#logFile"><span class="hs-identifier hs-var hs-var">logFile</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog
</span><a href="#local-6989586621679709575"><span class="hs-identifier hs-var">testLog</span></a></span><span>
</span><span id="line-162"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-163"></span><span>    </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679709572"><span class="annot"><span class="annottext">resStr :: String
</span><a href="#local-6989586621679709572"><span class="hs-identifier hs-var hs-var">resStr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Char) -&gt; ShowS
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char
</span><a href="../../base/src/GHC.Unicode.html#toUpper"><span class="hs-identifier hs-var">toUpper</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestLogs -&gt; String
</span><a href="Distribution.Simple.Test.Log.html#resultString"><span class="hs-identifier hs-var">resultString</span></a></span><span> </span><span class="annot"><span class="annottext">(TestLogs -&gt; String) -&gt; TestLogs -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog -&gt; TestLogs
</span><a href="Distribution.Simple.Test.Log.html#testLogs"><span class="hs-identifier hs-var hs-var">testLogs</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuiteLog
</span><a href="#local-6989586621679709575"><span class="hs-identifier hs-var">testLog</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-164"></span><span>
</span><span id="line-165"></span><span class="annot"><a href="Distribution.Simple.Test.Log.html#summarizeSuiteStart"><span class="hs-identifier hs-type">summarizeSuiteStart</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-166"></span><span id="summarizeSuiteStart"><span class="annot"><span class="annottext">summarizeSuiteStart :: ShowS
</span><a href="Distribution.Simple.Test.Log.html#summarizeSuiteStart"><span class="hs-identifier hs-var hs-var">summarizeSuiteStart</span></a></span></span><span> </span><span id="local-6989586621679709570"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679709570"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Test suite &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679709570"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;: RUNNING...\n&quot;</span></span><span>
</span><span id="line-167"></span></pre></body></html>